1. Field of the Invention
The present invention relates generally to organizing, linking, and maintaining disparate data objects. More particularly, the invention relates to organizing, linking, and maintaining disparate data objects using an intelligent and powerful note engine.
2. Related Art
Data Organization
In today""s Computer Age, there exists a vast amount of information that can be processed by computers. Such information is generally referred to herein as data objects.
There are many computer applications and computer-related devices for generating and processing data objects, such as word processing applications, spreadsheet applications, presentation managers, database managers, financial applications, networking applications, communication applications, sound recorders and processors, video recorders and processors, on-line service applications, scanners, computer aided drafting (CAD) applications, etc. As will be appreciated, the data objects generated and processed by these applications and devices vary widely in subject matter. Also, these data objects come in many forms, such as text files, image files, video files, audio files, etc. Accordingly, these data objects are disparate in both form and content.
It is often desirable to organize information such that data objects that somehow relate to a particular topic are associated with other data objects that are related to the same topic. Hyperlinks represent a conventional mechanism for associating data objects with other data objects. FIG. 1 illustrates a scenario involving Documents A, B, C, D, and E. Document A is linked to Document B via Hyperlink B. In a similar manner, Document B is linked to Documents C and D, and Document D is linked to Document E. A user follows Hyperlinks B, C, D, and E to traverse through Documents A, B, C, D, and E using a conventional xe2x80x9cpoint-and-clickxe2x80x9d methodology.
As apparent from FIG. 1, Hyperlinks B, C, D, and E form a trail through Documents A, B, C, D, and E. This trail represents the organization of Documents A, B, C, D, and E. However, Hyperlinks B, C, D, and E do not document or explain this trail. Accordingly, it can be said that Hyperlinks B, C, D, and E form an undocumented trail through Documents A, B, C, D, and E.
Consider, for example, Hyperlink B. Hyperlink B merely serves to link Document A to Document B. Hyperlink B does not describe why Document A is linked to Document B. Instead, the explanation or rationale for the linkage of Document A with Document B must be inferred by the user from the contents of Documents A and B.
However, it is often difficult to discern the rationale for the linkage between data objects. This is especially true for data objects which are not directly linked (Documents A and B represent two data objects that are directly linked), but which are indirectly linked (Documents A and E represent two data objects that are indirectly linked). For example, it may be very difficult for a user to determine the rationale for the indirect linkage of Document E to Document A. To discern the rationale for this linkage, it may be necessary for the user to review the contents of Documents A, B, D, and E. This could be a difficult and time-consuming task. Even then, the user may not be able to determine the rationale for the linkage. The user is unable to discern this rationale by reference to Hyperlinks B, D, and/or E since, as discussed above, these hyperlinks do not convey any information to the user.
In addition, a user will not know of the existence of Document E when following traditional links from Document A until he/she gets to Document E. This link (from Document A to Document E) may be the only link of interest to the user. The traditional linking mechanism is wasteful, as it requires the user to traverse through Documents B and D in order to arrive at Document E. Also, the user may end the search at Document B or Document D, thereby never getting to Document E. Further, traditional linking mechanisms do not provide a means by which to create links, with contextual information within and between different data objects. This type of linkage would provide the user with critical information as to how and why data objects are internally and externally related. Also, traditional links fail to provide the user with the ability to link the same portion of a data object with multiple links and notes to other data objects as well as to other portions of the same data object with varying contextual information on the rational for the links and user ideas or comments on the portion of the linked data object.
Accordingly, there is a need for a mechanism that not only organizes, associates, and links data objects internally and externally, but also conveys contextual information explaining the rationale for such organization, association, and linkage, as well as the users"" thoughts regarding the data objects.
Adding Notes to Data Objects
It is often desirable to add notes to data objects. Such notes may include a description of the contents of the data objects, instructions or comments to people working with the data objects, project notes, etc.
Some computer applications allow users to attach notes to data objects. For example, some word processors (such as MICROSOFT WORD and WORD PERFECT) allow users to attach notes to their documents. Typically, the user positions the cursor at the point in the document where he wishes to insert the note. The user then keys in the text for the note. The note is linked to the point in the document where the cursor was positioned.
Some spreadsheet applications (such as MICROSOFT EXCEL) allow users to attach notes to their spreadsheets. FIG. 2 illustrates an example spreadsheet window 204. The user has attached a note 212 to cell 206 of the spreadsheet 204 via a link 210. A small icon 208 located in cell 206 indicates that a note (in this case, note 212) is linked to cell 206. The user accesses the note 212 from the spreadsheet 204 by clicking on the icon 208.
The note functionality of conventional computer applications (including those described above) is limited in many respects. First, these applications restrict the manner in which users are allowed to associate notes with data objects. For example, these applications permit a note to be associated with only a single element in a data object. See FIG. 2, where note 212 is associated with only cell 206. It is not possible to associate note 212 with multiple cells or to establish intra or inter data object links. Also, notes cannot be associated with partial overlapping portions of data objects. For example, the spreadsheet 204 in FIG. 2 does not allow a first note to be associated with cells 206 and 214, and a second note to be associated with cells 214 and 216.
Second, these applications do not allow users to group related notes together. Accordingly, these applications do not permit users to organize their notes.
Third, these applications do not provide a mechanism for documenting the rationale for linking notes to data objects. For example, in FIG. 2, the link 210 conveys no information that explains the rationale for linking note 212 with cell 206. Instead, the user must attempt to discern this rationale from the contents of note 212 and cell 206.
Fourth, these applications do not provide a mechanism for establishing intra or inter data object linking, such as between different spreadsheets in EXCEL or linking with a word processor data object or another computer application data object.
The restrictions described above severely diminish the usefulness of notes. Notes are intended to convey information. The ability of notes to convey information is diminished if notes cannot be associated with any portions of data objects, and if notes cannot be organized and structured, and if the rationale for linking notes to data objects is not explicitly conveyed to users.
Accordingly, there is a need for a more flexible and intelligent mechanism for attaching notes to data objects.
Potential Loss of Information
Given these limitations of conventional data organization and note tools, users are not motivated or encouraged to utilize computer related tools to organize work product and data objects that are collected and generated during the performance of a task or project. Instead, such work product and data objects are often maintained in an unorganized state, often scattered about a person""s office or haphazardly stored in a makeshift filing system. Also, a person""s thinking is not typically documented or recorded. Instead, such thinking remains in the person""s head.
Thus, a person""s thinking, work product, and data objects that are collected and generated during the performance of a task or project are easily lost (either temporarily or permanently) if the person becomes unavailable, is unable to completely remember his thinking, or loses his work product. The person and the person""s employer then suffer from this loss of information.
Accordingly, what is required is a system and method for enabling the organization and recordation of a person or group""s thinking, work product, and data objects collected or generated during a project or task. Such organization and recordation serves to institutionalize the person or group""s thinking, work product, and data objects, thereby protecting against the unavailability of persons, memory loss, or loss of work product.
Generally speaking, the present invention is directed to a system and method of linking notes to data objects. The invention enables a user to select a portion of a data object associated with an application. The invention creates a sub-note in a note, and links the sub-note to the selected portion. The invention receives a request from a user viewing the note to display the selected portion linked to the sub-note. In response to this request, the invention invokes the application, if the application is not already invoked, and causes the application to load the data object and present the selected portion.
Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.